//
//  UIBarButtonItem+Extension.swift
//  FHweibo
//
//  Created by 张嵩雷 on 16/4/12.
//  Copyright © 2016年 feng. All rights reserved.
//

import UIKit

extension UIBarButtonItem {
    
    /*  
    遍历构造函数:方便创建对象
    1.在分类里面只能使用遍历构造函数
    2.遍历构造函数最终需要调用一个指定构造函数
    3.调用表里构造函数,要保证调用的这个遍历构造函数会调用到指定的构造函数
    4.构造函数,不会省略第一个外部参数名

    */
    
    ///创建一个带按钮的UIBarButtonItem 
    convenience init(imageName: String, target: AnyObject?, action: Selector) {
        //创建按钮
        let button = UIButton()
        
        //设置按钮
        button.setImage(UIImage(named:imageName), forState: .Normal)
        button.setImage(UIImage(named: "\(imageName)_highlighted"), forState: UIControlState.Highlighted)
        button.sizeToFit()
        
        button.addTarget(target, action: action, forControlEvents: UIControlEvents.TouchUpInside)
        
        //创建UIBarButtonItem对象设置customView
        //public converience init(customView: UIView),他内部会去调用指定构造函数
        self.init(customView: button)
    }
    ///使用类方法
    class func createBarButtonItem(imageName: String) -> UIBarButtonItem {
        
        //创建按钮
        let button = UIButton()
        //设置按钮
        button.setImage(UIImage(named: imageName), forState: .Normal)
        button.setImage(UIImage(named: "\(imageName)_highlighted"), forState: UIControlState.Highlighted)
        button.sizeToFit()
        
        //创建UIBarbuttonItem设置customView,返回回去
        return UIBarButtonItem(customView: button)
        
    }
    
    
}
